* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  overflow: hidden;
  background: radial-gradient(1200px 800px at 40% 30%, #0f172a 0%, #0b1023 60%, #070b19 100%);
  color: #e5e7eb;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
}

#ui { position: fixed; inset: 0; pointer-events: none; }
.panel {
  position: absolute; top: 16px; left: 16px;
  backdrop-filter: blur(8px);
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 12px;
  padding: 12px 14px;
  pointer-events: auto;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.row { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
.row.small { font-size: 12px; opacity: 0.9; }
.slider-label { font-size: 12px; opacity: 0.9; margin-right: 6px; }
#speed { width: 160px; }
#speed-value { width: 64px; text-align: right; opacity: 0.9; font-variant-numeric: tabular-nums; }

.btn {
  appearance: none; border: 1px solid rgba(148,163,184,0.25);
  background: rgba(30, 41, 59, 0.6);
  color: #e5e7eb; padding: 8px 12px; border-radius: 10px; cursor: pointer;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}
.btn:hover { transform: translateY(-1px); background: rgba(51, 65, 85, 0.65); border-color: rgba(148,163,184,0.4); }
.btn:active { transform: translateY(0); }
.btn.primary { background: linear-gradient(180deg, #2563eb, #1d4ed8); border: 1px solid rgba(59, 130, 246, 0.7); }
.btn.primary:hover { background: linear-gradient(180deg, #3b82f6, #2563eb); }

.floating {
  position: absolute; right: 16px; bottom: 16px; width: 44px; height: 44px;
  display: grid; place-items: center; border-radius: 50%; pointer-events: auto;
  background: rgba(30, 41, 59, 0.7); border: 1px solid rgba(148,163,184,0.25);
  color: #e5e7eb; font-weight: 700; font-size: 18px; cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}

.help {
  position: absolute; inset: 0; display: grid; place-items: center; pointer-events: auto;
  background: rgba(2,6,23,0.45);
}
.help.hidden { display: none; }
.help .help-content {
  width: min(520px, 92vw); background: rgba(15, 23, 42, 0.9);
  border: 1px solid rgba(148,163,184,0.25); border-radius: 14px; padding: 16px 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}
.help h3 { margin: 8px 0 10px; }
.help ul { margin: 6px 0 12px 20px; }
.help li { margin: 4px 0; }

#status { color: #a3e635; } 